package drds.global_transaction.api.api;

import drds.global_transaction.api.exception.GlobalTransactionException;

/**
 * Resource Manager: send outbound request to TC.
 */
public interface ResourceManagerOutbound
{

	Long branchTransactionRegister(String resourceId, String clientIp, String globalTransactionIdWithAddressAndPort, String tableNameAndLockRecordIdsStringsString) throws GlobalTransactionException;

	void branchTransactionReport(String globalTransactionIdWithAddressAndPort, long branchTransactionId, BranchTransactionStatus branchTransactionStatus, String applicationData) throws GlobalTransactionException;

	boolean lockRecordIdsCheck(String resourceId, String globalTransactionIdWithAddressAndPort, String tableNameAndLockRecordIdsStringsString) throws GlobalTransactionException;
}
